flyspell.el (flyspell-large-region): Use extended character mode if defined (Bug...
authorAgustin Martin <agustin.martin@hispalinux.es>
Thu, 13 Oct 2011 18:37:57 +0000 (20:37 +0200)
committerAgustin Martin <agustin.martin@hispalinux.es>
Thu, 13 Oct 2011 18:37:57 +0000 (20:37 +0200)
flyspell-large-region was not setting extended character mode for the
external ispell process. This was affecting ispell with 8bit charsets
not being the default, like in german.

Since extended character mode was not used, process used default 7bit
pseudo-charset resulting in some messages like

 -> rterbuch - 68: word not found

about words not found.

This may be related to (Bug#1339).

lisp/ChangeLog
lisp/textmodes/flyspell.el

index 0ca93baf6ed2254c5b7e28b7f7f377455e791b6a..8093e6b364b63fcf8ac6c4473b82e810213e3366 100644 (file)
@@ -1,3 +1,8 @@
+2011-10-13  Agustín Martín Domingo  <agustin.martin@hispalinux.es>
+
+       * textmodes/flyspell.el (flyspell-large-region): Make sure
+       extended character mode is used if defined (Bug#1339).
+
 2011-10-13  Eli Zaretskii  <eliz@gnu.org>
 
        * simple.el (what-cursor-position): Fix the display of the
index c2af3f7be84f728284fc57d4869d6c85028fb0e2..d496298768d3482fce4c34494b11034cf523182f 100644 (file)
@@ -1559,6 +1559,14 @@ The buffer to mark them in is `flyspell-large-region-buffer'."
                        (list "-p"
                              (expand-file-name
                               ispell-current-personal-dictionary)))))
+
+      ;; Check for extended character mode
+      (let ((extended-char-mode (ispell-get-extended-character-mode)))
+        (and extended-char-mode          ; ~ extended character mode
+            (string-match "[^~]+$" extended-char-mode)
+            (add-to-list 'args (concat "-T" (match-string 0 extended-char-mode)))))
+
+      ;; Add ispell-extra-args
       (setq args (append args ispell-extra-args))
 
       ;; If we are using recent aspell or hunspell, make sure we use the right encoding